In conventional information processing systems, there is proposed to employ an asymmetric multiprocessor configuration, in which equipping the system with both a general-purpose processor suitable for processing various application programs and a specialized processor suitable for the particular application programs, such as programs dealing with multimedia data.
In the asymmetric multiprocessor configuration, instructions suitable for respective application programs are provided to the general-purpose processor and the specialized processor to make a processing performance and an implementation efficient. For this reason, normally, sets of executable instructions for each of the processors are designed to be different. In case both the general-purpose processor and the specialized processor having different instruction sets execute the program having the same function, the program corresponding to the instruction set for the general-purpose processor and the program corresponding to the instruction set for the specialized processor are needed.
However, when such a configuration is employed, in which programs are prepared for every processors different with one another in instruction sets, there occurs a problem that a storage area of the memory used to store the programs will be increased.
Therefore, a technology for a binary translator that translates a program designed based on an instruction set for the general-purpose processor into a program having an instruction set for the specialized processor. An example of such technology is disclosed in an international patent application published under the publication number: WO00/45257.
As described above, in the document WO00/45257, the technology to translate the program designed based on the instruction set for the general-purpose processor into the program having the instruction set for the specialized processor is disclosed.
However, for example, when changing the processor that executes the program dynamically from the general-purpose processor to the specialized processor in accordance with current processing loads of respective processors, the specialized processor that succeeds to the execution of the program must access the data used in executing the program, which is stored in a main memory or a local memory that are provided for the general-purpose processor that executed the program before the succession.
On the other hand, some specialized processors are configured such that it cannot access an external memory such as the local memory of other processor. In such case, even though the program designed based on the instruction set for the general-purpose processor is translated into the program corresponding to the instruction set for the specialized processor, the specialized processor cannot access the data used in executing the program. As a result, such a problem existed that the translated program cannot be correctly executed by the specialized processor.